# eric7.PluginManager.PluginRepositoryDialog

Module implementing a dialog showing the available plugins.

### Global Attributes

SslAvailable

### Classes

PluginRepositoryDialog | Class for the dialog variant.
PluginRepositoryWidget | Class implementing a dialog showing the available plugins.
PluginRepositoryWindow | Main window class for the standalone dialog.
PluginStatus | Class defining the various plugin status.

### Functions

PluginRepositoryDownloadCleanup | Module function to clean up the plug-in downloads area.
registerPlugin | Method to register a plug-in's data.

## PluginRepositoryDialog

Class for the dialog variant.

### Derived from

QDialog

### Class Attributes

None

### Class Methods

None

### Methods

PluginRepositoryDialog | Constructor
__closeAndInstall | Private slot to handle the closeAndInstall signal.
getDownloadedPlugins | Public method to get the list of recently downloaded plugin files.

### Static Methods

None

#### PluginRepositoryDialog (Constructor)

PluginRepositoryDialog(pluginManager, parent=None)

Constructor

pluginManager (PluginManager)
  reference to the plugin manager object
parent (QWidget)
  reference to the parent widget

#### PluginRepositoryDialog.__closeAndInstall

__closeAndInstall()

Private slot to handle the closeAndInstall signal.

#### PluginRepositoryDialog.getDownloadedPlugins

getDownloadedPlugins()

Public method to get the list of recently downloaded plugin files.

Return:
  list of plugin filenames

Return Type:
  list of str

Up

## PluginRepositoryWidget

Class implementing a dialog showing the available plugins.

### Signals

closeAndInstall()
  emitted when the Close & Install button is pressed

### Derived from

QWidget, Ui_PluginRepositoryDialog

### Class Attributes

AuthorRole
DescrRole
FilenameRole
UrlRole

### Class Methods

None

### Methods

PluginRepositoryWidget | Constructor
__addPluginItem | Private method to add an item for the given plugin parameters.
__changeScheme | Private method to change the scheme of the given URL.
__cleanupDownloads | Private slot to cleanup the plug-in downloads area.
__closeAndInstall | Private method to close the dialog and invoke the install dialog.
__downloadButtonClicked | Private slot to handle a click of the Download button.
__downloadCancel | Private slot to cancel the current download.
__downloadFile | Private slot to download the given file.
__downloadFileDone | Private method called, after the file has been downloaded from the Internet.
__downloadInstallButtonClicked | Private slot to handle a click of the Download & Install button.
__downloadPlugin | Private method to download the next plugin.
__downloadPluginDone | Private method called, when the download of a plugin is finished.
__downloadPlugins | Private slot to download the selected plugins.
__downloadPluginsDone | Private method called, when the download of the plugins is finished.
__downloadProgress | Private slot to show the download progress.
__formatDescription | Private method to format the description.
__hasHiddenPlugins | Private method to check, if there are any hidden plug-ins.
__hidePlugin | Private slot to hide the current plug-in.
__hideSelectedPlugins | Private slot to hide all selected plug-ins.
__initHeaderItemsCache | Private method to initialize the cache variables for the header items.
__populateList | Private method to populate the list of available plugins.
__reachabilityChanged | Private slot handling reachability state changes.
__selectedItems | Private method to get all selected items without the status and category items.
__showAllPlugins | Private slot to show all plug-ins.
__sslErrors | Private slot to handle SSL errors.
__updateHiddenPluginsList | Private method to store the list of hidden plug-ins to the settings.
__updateList | Private slot to download a new list and display the contents.
__updateStatus | Private method to check the given archive update status.
__updateStatusItemTexts | Private method to update the status item texts to include a number determined by a given status order.
addEntry | Public method to add an entry to the list.
getDownloadedPlugins | Public method to get the list of recently downloaded plugin files.
on_buttonBox_clicked | Private slot to handle the click of a button of the button box.
on_repositoryList_currentItemChanged | Private slot to handle the change of the current item.
on_repositoryList_customContextMenuRequested | Private slot to show the context menu.
on_repositoryList_itemSelectionChanged | Private slot to handle a change of the selection.
on_repositoryUrlEditButton_toggled | Private slot to set the read only status of the repository URL line edit.
reloadList | Public method to reload the list of plugins.

### Static Methods

None

#### PluginRepositoryWidget (Constructor)

PluginRepositoryWidget(pluginManager, integrated=False, parent=None)

Constructor

pluginManager (PluginManager)
  reference to the plugin manager object
integrated (bool)
  flag indicating the integration into the sidebar
parent (QWidget)
  parent of this dialog

#### PluginRepositoryWidget.__addPluginItem

__addPluginItem(parentItem, name, short, description, url, author, version, filename, updateStatus, countIt=True, )

Private method to add an item for the given plugin parameters.

parentItem (QTreeWidgetItem)
  reference to the parent item
name (str)
  data for the name field
short (str)
  data for the short field
description (list of str)
  data for the description field
url (str)
  data for the url field
author (str)
  data for the author field
version (str)
  data for the version field
filename (str)
  data for the filename field
updateStatus (PluginStatus)
  update status
countIt (bool (optional))
  flag indicating to count the item for status labels (defaults to True)

#### PluginRepositoryWidget.__changeScheme

__changeScheme(url, newScheme="")

Private method to change the scheme of the given URL.

url (str)
  URL to be modified
newScheme (str)
  scheme to be set for the given URL

Return:
  modified URL

Return Type:
  str

#### PluginRepositoryWidget.__cleanupDownloads

__cleanupDownloads()

Private slot to cleanup the plug-in downloads area.

#### PluginRepositoryWidget.__closeAndInstall

__closeAndInstall()

Private method to close the dialog and invoke the install dialog.

#### PluginRepositoryWidget.__downloadButtonClicked

__downloadButtonClicked()

Private slot to handle a click of the Download button.

#### PluginRepositoryWidget.__downloadCancel

__downloadCancel(reply=None)

Private slot to cancel the current download.

reply (QNetworkReply)
  reference to the network reply

#### PluginRepositoryWidget.__downloadFile

__downloadFile(url, filename, doneMethod=None)

Private slot to download the given file.

url (str)
  URL for the download
filename (str)
  local name of the file
doneMethod (function)
  method to be called when done

#### PluginRepositoryWidget.__downloadFileDone

__downloadFileDone(reply, fileName, doneMethod)

Private method called, after the file has been downloaded from the Internet.

reply (QNetworkReply)
  reference to the reply object of the download
fileName (str)
  local name of the file
doneMethod (function)
  method to be called when done

#### PluginRepositoryWidget.__downloadInstallButtonClicked

__downloadInstallButtonClicked()

Private slot to handle a click of the Download & Install button.

#### PluginRepositoryWidget.__downloadPlugin

__downloadPlugin()

Private method to download the next plugin.

#### PluginRepositoryWidget.__downloadPluginDone

__downloadPluginDone(status, filename)

Private method called, when the download of a plugin is finished.

status (bool)
  flag indicating a successful download
filename (str)
  full path of the downloaded file

#### PluginRepositoryWidget.__downloadPlugins

__downloadPlugins()

Private slot to download the selected plugins.

#### PluginRepositoryWidget.__downloadPluginsDone

__downloadPluginsDone()

Private method called, when the download of the plugins is finished.

#### PluginRepositoryWidget.__downloadProgress

__downloadProgress(done, total)

Private slot to show the download progress.

done (int)
  number of bytes downloaded so far
total (int)
  total bytes to be downloaded

#### PluginRepositoryWidget.__formatDescription

__formatDescription(lines)

Private method to format the description.

lines (list of str)
  lines of the description

Return:
  formatted description

Return Type:
  str

#### PluginRepositoryWidget.__hasHiddenPlugins

__hasHiddenPlugins()

Private method to check, if there are any hidden plug-ins.

Return:
  flag indicating the presence of hidden plug-ins

Return Type:
  bool

#### PluginRepositoryWidget.__hidePlugin

__hidePlugin()

Private slot to hide the current plug-in.

#### PluginRepositoryWidget.__hideSelectedPlugins

__hideSelectedPlugins()

Private slot to hide all selected plug-ins.

#### PluginRepositoryWidget.__initHeaderItemsCache

__initHeaderItemsCache()

Private method to initialize the cache variables for the header items.

#### PluginRepositoryWidget.__populateList

__populateList()

Private method to populate the list of available plugins.

#### PluginRepositoryWidget.__reachabilityChanged

__reachabilityChanged(reachability)

Private slot handling reachability state changes.

reachability (QNetworkInformation.Reachability)
  new reachability state

#### PluginRepositoryWidget.__selectedItems

__selectedItems()

Private method to get all selected items without the status and category items.

Return:
  list of selected items without header items

Return Type:
  list of QTreeWidgetItem

#### PluginRepositoryWidget.__showAllPlugins

__showAllPlugins()

Private slot to show all plug-ins.

#### PluginRepositoryWidget.__sslErrors

__sslErrors(reply, errors)

Private slot to handle SSL errors.

reply (QNetworkReply)
  reference to the reply object
errors (list of QSslError)
  list of SSL errors

#### PluginRepositoryWidget.__updateHiddenPluginsList

__updateHiddenPluginsList(hideList)

Private method to store the list of hidden plug-ins to the settings.

hideList (list of str)
  list of plug-ins to add to the list of hidden ones

#### PluginRepositoryWidget.__updateList

__updateList()

Private slot to download a new list and display the contents.

#### PluginRepositoryWidget.__updateStatus

__updateStatus(filename, version)

Private method to check the given archive update status.

filename (str)
  data for the filename field
version (str)
  data for the version field

Return:
  plug-in update status

Return Type:
  int (one of PluginStatusNew, PluginStatusUpToDate, PluginStatusLocalUpdate, PluginStatusRemoteUpdate)

#### PluginRepositoryWidget.__updateStatusItemTexts

__updateStatusItemTexts()

Private method to update the status item texts to include a number determined by a given status order.

#### PluginRepositoryWidget.addEntry

addEntry(name, short, description, url, author, version, filename, status, category, )

Public method to add an entry to the list.

name (str)
  data for the name field
short (str)
  data for the short field
description (list of str)
  data for the description field
url (str)
  data for the url field
author (str)
  data for the author field
version (str)
  data for the version field
filename (str)
  data for the filename field
status (str)
  status of the plugin (one of stable, unstable, unknown)
category (str)
  category designation of the plugin

#### PluginRepositoryWidget.getDownloadedPlugins

getDownloadedPlugins()

Public method to get the list of recently downloaded plugin files.

Return:
  list of plugin filenames

Return Type:
  list of str

#### PluginRepositoryWidget.on_buttonBox_clicked

on_buttonBox_clicked(button)

Private slot to handle the click of a button of the button box.

button (QAbstractButton)
  reference to the button pressed

#### PluginRepositoryWidget.on_repositoryList_currentItemChanged

on_repositoryList_currentItemChanged(current, _previous)

Private slot to handle the change of the current item.

current (QTreeWidgetItem)
  reference to the new current item
_previous (QTreeWidgetItem)
  reference to the old current item (unused)

#### PluginRepositoryWidget.on_repositoryList_customContextMenuRequested

on_repositoryList_customContextMenuRequested(pos)

Private slot to show the context menu.

pos (QPoint)
  position to show the menu

#### PluginRepositoryWidget.on_repositoryList_itemSelectionChanged

on_repositoryList_itemSelectionChanged()

Private slot to handle a change of the selection.

#### PluginRepositoryWidget.on_repositoryUrlEditButton_toggled

on_repositoryUrlEditButton_toggled(checked)

Private slot to set the read only status of the repository URL line edit.

checked (bool)
  state of the push button

#### PluginRepositoryWidget.reloadList

reloadList()

Public method to reload the list of plugins.

Up

## PluginRepositoryWindow

Main window class for the standalone dialog.

### Derived from

EricMainWindow

### Class Attributes

None

### Class Methods

None

### Methods

PluginRepositoryWindow | Constructor
__startPluginInstall | Private slot to start the eric plugin installation dialog.

### Static Methods

None

#### PluginRepositoryWindow (Constructor)

PluginRepositoryWindow(parent=None)

Constructor

parent (QWidget)
  reference to the parent widget

#### PluginRepositoryWindow.__startPluginInstall

__startPluginInstall()

Private slot to start the eric plugin installation dialog.

Up

## PluginStatus

Class defining the various plugin status.

### Derived from

enum.Enum

### Class Attributes

Error
LocalUpdate
New
RemoteUpdate
UpToDate

### Class Methods

None

### Methods

None

### Static Methods

None

Up

## PluginRepositoryDownloadCleanup

PluginRepositoryDownloadCleanup(quiet=False)

Module function to clean up the plug-in downloads area.

quiet (bool)
  flag indicating quiet operations

Up

## registerPlugin

registerPlugin(_name, _short, _description, url, _author, _version, _filename, _status, _category, )

Method to register a plug-in's data.

_name (str)
  data for the name field (unused)
_short (str)
  data for the short field (unused)
_description (list of str)
  data for the description field (unused)
url (str)
  data for the url field
_author (str)
  data for the author field (unused)
_version (str)
  data for the version field (unused)
_filename (str)
  data for the filename field (unused)
_status (str)
  status of the plugin (one of stable, unstable, unknown) (unused)
_category (str)
  category designation of the plugin (unused)

Up